/**
*  \file checkfota_cfg.h
*
*  \brief
*
*  \author Michael J. Hohmann  <michael.hohmann@linde-mh.de>
*
*
*/

#ifndef CHECKFOTA_CFG_H_INCLUDED
#define CHECKFOTA_CFG_H_INCLUDED

/*================================================[ public includes  ]================================================*/
#include "../cfg/prj.h"
#include "global.h"

/*================================================[ public defines   ]================================================*/

/* Chunk size,
* Number of 32 bit words that are load from External Flash at one time.
*/
#define CHUNK_SIZE U32_CONST(0x100)  /* 0x100 words a 4 byte -> 1KB */

/*================================================[ public datatypes ]================================================*/

/*================================================[ public variables ]================================================*/

/*================================================[ inline functions ]================================================*/

/* this function will be erased for embedded code .*/
 U32 crcstm32( U32 initvalue, void *pdata,U32 len  );
extern U32 crcstm32_last_value;


STATIC_INLINE U32 checkfota_crc_calculate( void* addr, U32 size )
{
    return HAL_CRC_Calculate( (&CrcHandle), (uint32_t *)addr, size);
}


STATIC_INLINE U32 checkfota_crc_accumulate(void* addr, U32 size)
{
    return HAL_CRC_Accumulate( (&CrcHandle), (uint32_t *)addr, size);
}



/*================================================[ public functions ]================================================*/

/*====================================================================================================================*/

#endif

/***********************************************************************************************************************
*                             Copyright 2017 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
